Atlanta, Georgia.
Yes, OK, fine.
So we are welcome, all of you.
We are today, uh, in today for Advanced Topic before a different topic.
Let's go.
Uh.
For starting to see something.
I've shared my screen.
So the.
This is one tribe, so in the recording, I am sharing all the files related training, so this rapid
training is the folder from Corradi and the application liability management from Guaranies instance,
file open doubt's list, open doors.
That list is here.
So we record all questions during the training and we close them one, one after one.
OK.
So keep, keep.
Displaying or taking this list from time to time, because I am answering questions here on, for example,
yesterday we raised the question on child of child labor.
Today I did my R.A. and it the conclusion is not doable.
Chick Cheetah in the cheetah.
So I collected this comment from the forum and from Telegram group.
So here they said why it is not doable, because it is not to render it.
When the front page frappé we load the main DOCTYPE and the child DOCTYPE and the child of Chad is not
it will not be loaded.
OK, so this is one of the reason why it is not.
Why it is not.
So here, for example, apparently this is a possible scenario, but in practical terms, any timetable
declared as a child of another child, David, will not be rendered on the website.
Besides, it is not a good practice to have such dependency chain here in Russia.
Metuh really hard to look at this.
Generally, Mr. Table is a bad design.
It seems to be really a fact that Mr. Davis are not working in Phoenix.
So it's it's thinks some things to avoid you will lose your time and energy in such point.
So back to our list.
For example, how to delete, remove completely anop doctype Ifield.
Here it is raised by Banat and we have answered the questions.
There is a recording there for that Sishen maintain it with Banat and there is some comments to and
a link to a document to for that point.
So like this we are closing one after one and keep checking this, that list.
This is one.
There is another point to use here for.
For this this agenda here, we are maintaining the agenda and we put the like what we did in every topics
which sessions.
So it's a it's an updated agenda here.
We put we added barcoding and feature these two points of the ited.
You can use this sheet for your reference, also novel.
OK, yes, hello.
Yes.
Today, I had had a meeting with Abdulle and he told me that.
It is the server, it is sometimes it is not running well.
OK, so I told him that is that is that it can be a problem for us in a production environment.
You will, yes, when we will send the so till now did not we didn't use the production installation
till now, we are using development assistance or development environment installation where we use
bench to start.
Every time we use benches, but if you install ERP next for a production environment, there is other
additional component or software need to be installed that will we you will not use bench to start again.
It is running continuously.
Production environment will run continuously without doing benches that this is to maybe Karani can
explain to better than me karani.
Hello, can you hear me?
Yes, yeah, yeah, yeah, you got any idea I want to know what are the components of infrastructure
for production environment?
Well, production environment should not be should not be any different from the development environment,
only that like Mommy is saying, you don't need to you don't need to to start to do start a production
environment, runs runs on the default pot on your sarva.
But ideally read this is not supposed to be having a problem with the instance unless Elfreda's had
a problem even before.
So this is not something that will be caused by by European next or it is European dependent because
remember this is Asaba, it's on its own.
Europeanist only came to run on top of it.
So unless if you are at this installation has an issue, we are having problems there for four years.
Next as a service, what are tools that is used behind it?
What are those for?
I don't know.
I'm asking is that the the of the services.
Running on Tucker, enjoying configurator by unseeable, for example, are now terraformed cabernets,
what are the rules behind the postponement?
Are you using or do you have a production sarva?
That is running Europe next, or are you asking so that, again, you can deploy?
I'm asking so I can deploy it.
OK, OK, so, yes, the environment has to be configured exactly the way you are configuring this other
one for development.
To answer your question about communities and or and or DOCA, those are those are additions because
ideally communities is his our content management.
That's container management applications.
So if you want to if you want to install your application on this or on top of DOCA, that will be specifically
for the purposes of scalability.
It is not function or maybe functionality, but then it is about how reliable the application is.
But even if you didn't have to make our communities up next, instances run.
But the environment is exactly the same as the development environment.
Yeah, it's a question of scalability and the elasticity of the production environment as a service.
So I would like to had ideas about how we can deploy it here.
OK, thank you.
Thank you.
You're welcome.
Yes, you are facing a problem with this current current use them or you have no
actually I'm thinking about how we can deploy the next.
And when I had the meeting with them and he told me that in the end, I don't know, in a blog or in
excess of your next year's community, they had a problem with the reduce.
So so now Muhammad Ali is stuck.
Right.
Installing ERP next.
Right.
Yeah, he's lucky that we'll see with him if he will reinstall or the totality of his operating system,
maybe the TV set with Muhammad Ali for about two hours, maybe after the call.
And we request from him to make some changes in the server and he will get back to me.
And he didn't get back to me.
But we can take it again after this call.
We'll check with you guys.
Let's start today's topic because we are already a little bit late.
So, Karen, can you introduce us to today's topic and, uh, go ahead.
Sure.
So.
Today, I want us to I want us to to clear the EPA is that the EPA's items we have on item number four
and five, hopefully there is.
And I want to I would like us to really clear these to this because we looked at EPA before.
So today I'm introducing something very small that is new.
We looked at EPA's exhaustively when we were doing the.
Doing the beginner topics, so if you if maybe there is something that you have if you have a specific
need here that will not be taken care of today, you can you can you can shoot your questions after
this.
So what I would like us to do today is assume you have let me go back to our article about.
At least and here I assume that we want to have a button button somewhere here, so there are two types
of space.
If you remember, there is one that you can run on your application so you can call on an API from your
application or you can call your API from outside of your application, which is which is which is item
number five here.
So these are some little differences that you need to take to take into consideration everything space
for either of those.
If you are writing an API to be used within this application here, it will not be there.
You may need to do a straight change when you are writing an EPA to be used by an external application.
So let's say, for instance, we want to have a button here.
We are just going to use our example here.
It may not make a lot of sense in the world, but you'll find you'll find ways of making it useful.
So we have a button.
And when we select, maybe when we select, when we click on a button, that button, we want to get
the name of the order from this DOCTYPE and then we want to go to our database here and to get all the
articles that were added or maybe that are owned by that particular order.
So we want to see all of them, how we do, how we did that.
Remember that we went to our what is this different app.
So let me open our application here.
OTP.
Bench in training.
So we go to our application, we open and we open on DOCTYPE, then we go to our article library DOCTYPE
this JavaScript, remember this one is we if we want to add a button to our front end, we need to do
that on the on the JavaScript file.
So when we, we were looking at the dog types, we do, we do need to add a button somewhere here so
we can just go straight to the next dog types and look for custom dog types of Ajax call so we can look
at a way of adding a custom button.
So it's odd custom button, something like this.
So we can look at something like we one.
Something like.
Let's look at the look at this, there is a number of of of battle, but constant battles here, so
it's upon you to choose which one you think works for you.
So on our quiz here today, we can look at.
We can look at maybe this one so we can copy this quote, as is copied this from the documentation this
is on from DOD ad custom button, then go back to application to remember you need to add this, preferably
the refresh method, so that every time you refresh your everyday you refresh.
For instance, the button would be loaded.
So we can go inside of this function and custom button.
Like that, and then remember, this is a group, so maybe we can call this something like action so
that we can maybe see if we need that.
And then the name of this button, we can call it something like, what's something like get me p o
the other articles.
Get all the articles and you don't need to do this, so we only have passed our form, so if we have
our form here, that means inside here we're able to get you able to get the other.
But just by doing maybe let all the pictures in, because we have this form up here, we can do form
dot, dot, dot.
I hope you remember some of these things.
And then we are we are going to do all the.
And we are getting this over from is from our DOCTYPE, this field to remember the name of this field,
it's over so we can go ahead and do that.
And if we need this, we can just do something like consult not long just to make sure that we are getting
our order here, maybe something like that.
I have inside operations with me do some formatting into my code here.
Then the only thing I need to do here, because remember this is JavaScript and runs on the front end.
We just need to control, shift, reload and we see whether this works or maybe something is breaking
and looks like everything is working.
And we have our button added here with with a group of action.
And here we have get other articles and we need to inspect so that we can see whether it is logging
the name of the other Sorbo.
And yes, we have the other Jofre Karani.
I don't know what they need to increase their font.
So it's actually increasing and it's increasing there, so we have Jeffrey Karenni here another no no,
that means we are ready to start writing our API.
Now, remember the API?
Where are we going to be writing this API?
The API can sit anywhere where you have chosen.
But remember, it is advice that you put these things on a file that you have control of.
I don't put it on an ERP next file so we can maybe reuse their file for the file that we had here yesterday.
So utils, but this one, you can put it in any other fire, you can even decide to create your own
file and put it inside, we can use what we had here yesterday so we can go down here and define our
function.
So we find a function that you're going to get to go get maybe out and then books, books about articles
and this function.
It other articles in this function is going to run on Esquibel, so maybe this is what you are asking
sometimes about whether you are going to look into more esquibel so you can do something like articles
because frappé, this is frappé.
Don't repeat, don't ask.
You will.
So here you are writing rescuable and then yeah, you need to provide six quotes.
So 123456 that you're not šemeta here.
You need to write our query so we can do select all for now we can just select all from and the name
of our, the name of our people, the people that has our articles, estaba articles.
We can copy that.
And because this thing has our space in between here, if we leave it like this, it's going to give
us problems.
So we need to add batiks to tell Esquibel that this this thing should be treated as one.
And then remember, the next thing that we need to do here is to tell this thing, to get resodding.
Ask because I don't know whether you speak, because I don't know that you remember why you are doing
this.
If you do if you do remember, you can you can answer that question later and now we can just go ahead
and respond to written articles.
That's it.
So if we want to that this thing is working within our application even before before we try to assist
it with our with our call here, we can we can go to our we can go to our Broza.
This is our instance, we can copy we can copy this.
And open a new tab.
This is just one of our favorite of our, for instance, and then here you need to add Ippei slash method
and then you provide appropriate path to other function and that path to your function.
So if you remember here in the whoops fight, we hit this path somewhere.
We ran we ran this thing a number of times.
I don't know what I'll be able to trace it.
Yeah, we had these, for instance, you suggest that you are doing at library here Dunwoody's yesterday
or the day before yesterday.
And because we have our our our our our panel here, we can copy this and really just change the function
name so we can go here.
Is next to a broza, and then we'll need to add the function that we are calling here to Diso, our
function to this, get all the articles and copy that and I'll put it here and then I'll try to run
it if you want to get.
So here we are being told our function is being reached, but we have an issue here is telling us it's
not permitted.
I don't know whether someone has a reason.
I don't know whether anyone can tell us why this thing is not permitted.
Who knows why?
You have to whitelist your method, yes, worthless, this great, great, great.
So is we have to we have to get rid of this thing.
So we have to do frappé don't wait list.
And now we have that here.
We are supposed to probably get our dictionary.
And yes, this data is coming from our table here.
So great.
So we have it here now.
We want it to pass.
We want it to pass to pass this thing and query only we are we only we are.
The other is a specific one.
We do not want to get everything.
So how are we going to write that?
So in our query here, we can do we can add our condition and we see we are hoping that, you know,
our database, we have order.
So let's check what we have in the database.
So we do.
Yeah, we have all that so we can do where all the requests and then we have that.
And then in our function here, remember, we need it.
We need we need to pass this or that because it's something dynamic so we can even call that other than
this is what is going to go into this.
And because this is a formatted string, you see it's not identifying this one properly.
So we need to treat this as a formatted string by adding on if this is Python three.
So that is done.
And now if you try to access this function, we can do that so that when people maybe have these issues,
they they remember what we what we did.
If we go back here and try to access, we are going to have an issue.
And the issue is letting us that get this is what is missing our required parameter.
We are having this issue because ideally our function here is fixed on over and we are not able to pass
that order from the front end from this.
We have not passed anything.
So remember, if this was not mandatory, if you pass to here, none of this is going to allow is going
to allow, OK.
And do that, and then here I'm going to pass it on.
You know, when this is done, this will mean will get this function that you do not need to force users
to enter the order so you can go ahead and try to query even without that order.
So if you go ahead and refresh this now, we are going to get our message back.
But it is empty ideally because we are trying to get to this thing with the other, not having said
anyone.
So that's it.
Now, we should be able to go back to our front end here and call our method here the one that we have
written and populate this field here or this variable with the appropriate of a name.
And then this is why this will go ahead and query the database and return our articles that belong to
that particular order.
So what we do there is something called for a protocol.
I'm sure I mentioned this earlier.
Frappier dot com is like Ajax in in other in other languages.
You can decide to use Ajax and maybe something like Dangote, something like Laravel in other other
languages for replaces that.
So when you do this, this thing is able to go back and call an API that you have written, query that
data and return it to your front end without necessarily rerouting your page so we can copy this code
like that.
And then you are going to place this code after after our function, after our variable here so we can
just remove this console log.
And here we put our tropical.
And remember, this one actually is telling you, this is from the documentation is telling us that
this is a dotted path to our method.
So we can just remove that.
And now we know that we are supposed to provide a path to our method here.
Now, this is what I needed to point out to the if you are adding this thing.
To within your application, like here now, you do not need you see what we did here?
We did.
We did not there we were here.
We did apply that method, then adopted the path to our to our method or to our function when we are
copying this thing because we are doing this only for test.
When you are popping this thing to put it into a JavaScript code, you do not need to copy API and Method
Hibiya method here to tell you to tell other applications outside.
We are exactly to access this this others get other function, get other articles function from.
But if it is within your application just copy the dotted path only dot.
And that is what you see here.
We have Strache.
So with this API slash method slash then from here it's adopted.
So after the library management we have dot utils dot, then the name of the function.
Remember this could be long, a lot longer than this.
So you just need to copy only from this function for this section going forward.
That is what we need to place here.
So just out there and now we have it here and now this is going to go ahead and call this function.
But now the issue is how are we going to parse this thing to this?
Because I remember the last movie, I don't think whether you are passing any arguments.
So how are you going to pass whatever arguments you have?
You know, we need to pass order to this function so that when it hits our function here, we have these
other populated and then we can query this with that particular order.
How are you going to do that?
And if it allows us to add arguments after this, just before after you have that, we have a that you
can just come here to UGS.
We are G.S. and then you can pass a dictionary of all the arguments that you need to pass to that.
So we're going to come here and do something like that and then we pass in our order.
This one is what we have here.
So when we do this, this thing is going to be frappé is going to take this, it is going to treat this
treated as an argument that is supposed to be passed to this particular method that we have here.
So even if you had, like, multiple items, so if you had more than one one argument here to pass,
you could just have added a comma and then you have another one, maybe like publisher and publisher
and maybe you had a publisher up there so you can just copy and paste it there and that's it.
You can put as many arguments as you want.
And when they come here, they will be treated, they'll be treated as an ad, as Python ads, so you
can access all of them from this place.
So today we need to pass only one.
And now when this thing goes back, goes back and does the quitting of the data is going to come with
a callback function and whatever will be returned by this function will be.
Up so we can leave this are all we can give it a different name like.
Articles, so this thing is going to return articles, the articles that belong to the user or the other
whose name we pass to the back end, and when we do hear console log, we are supposed and will again
we look our our our articles here.
If this is a test, we are supposed to see these articles on our console.
So let's go ahead and try to do that.
So we got back here.
We reload conclusive.
Are you sure this is going to load?
If we have an issue, this page is not actually going to work.
So we clear this and now we go here and try to get all the articles.
And you can see this thing has logged for an array and this larger.
We have an array with six items.
So if I open it, we have a message here and we have these articles that have been logged here from
our database.
So this ones, if I open over another, is another bitchier.
With call articulable the least.
We all that we had here is Joffre Karani, and that is why you see here we have quite a number of articles
one, two, three, four.
You can count them.
I'm sure there are six that belong to that particular order.
And this article, remember, we told it to quit everything.
So we have it has returned us everything that is inside our table, everything that is inside this table
has been returned to us here.
So we can be able to access this data now and do whatever we want to do with it.
How about how about we go to another article, maybe this one written by this user, open it.
And here it would have a button.
I can make this to, too, so they can see this button and then I get other articles and here we see
we have an array with three items.
So this user has three.
And we can see here we have Richard Woodward.
So this user has three of them.
We can again see the user here.
The other here is this user.
The first one.
The second one is this other and the third one also is the other.
So that's it.
Let me know whether someone has an equation regarding what we have done here so far.
Yes, Karen, you have a question or OK, let me ask first.
My question now in your frappé, that call, OK, if you put the method, the dotted path to do your
functions, then arts and the arts, you put the author, author, first author, first author.
It should be same name as your functions or you give any name you have any.
Order is important, so here the one yeah, this is knackers.
I mean, the first hour, the first hour is your first barometer in your function, is it mapping by
order?
How is this mapping ARGs?
So so what is happening here, the first the first one here after the name, I can maybe Razmik Mascheroni,
this one is just a key.
This is what carries the variable that we have here.
So it must not contain the same name you can call.
It's just a key and very key and very pale.
But in your function, or at least it function in my function here.
Yes.
So in my presence here, if you have three, if you have three, three parameters.
Uh.
So first I will go to the first parameter, second for second.
Like this by order.
Yeah, by default is going to it like that.
So if you pass them here, like three of them is going to take them in in that order.
If you do not, maybe if you don't know the order or because sometimes you may be writing our software,
we don't know the or the order that these things will come in.
What you do is that you just pass them and then here, instead of passing in the function, instead
of passing on them, you're going to pass in the queue at argument.
So you can just come here to something like I just thought, and this is not going to get those things
with regardless of the order that you're going to pass here.
But if you're not a like for instance, in our case, if I wanted to pass the order and the publisher
and whatnot and you know, that order is not going to change, you can pass them here and then you receive
them from your function in that order.
Can you add another parameter, for example, author and another parameter?
Let me add here, Lisa.
I don't know whether we have publishers and the publisher.
We are going to say this is going to get this from our publisher and then here, let go this order and
then here we are going to pass another one.
And this is going to carry publisher, publisher, and then that's it.
When we come here, what we're going to do, just add a comma.
Here again, we are the publisher.
And it is I think I have it published and we can also allow this to be done if we do not need it to
be mandatory or we can leave it blank.
So let me do here print.
Print.
And then here we do publisher.
Maybe we can do we can do something like this without these printing machines, have a publisher comes
in to save it and we need to observe this.
Let me make it a little bit.
You have you have to add in the condition.
Publisher with condition.
In your school condition, I just wanted to put it all you need to ask to carry this.
I just wanted us to print it here so that we see what ideas we received here.
Anyhow, my main point is to put the word condition in the word condition.
OK, OK, OK, just give me a sec and leave out of whatever that is received, then we can put it in
the air condition, so print out and it is not my sarva.
Then and then this one again, I say it from from here.
We had it all here.
Yeah, so I can erode this and then I come back here.
Oh, sorry, this is supposed to be a formatted string.
What it's string.
So we loaded and we have that particular one doesn't have a publisher, let's see.
Oh yeah, OK.
Yeah, I sure is getting it.
So let's let's let's add this into our into our function.
We can get we can do we are maybe publisher equals publisher.
So we want to query the publisher is a particular one.
Let's go back to our documents and see whether there is one with a publisher publishing on it.
What about this one.
Maybe we can.
I know we have a published report, Macmillan Knock Me Out so we can try that, save it.
And then we go up here, check.
We our are is coming back with nothing.
So what we can do here.
Let's let's just try to return publisher here.
We see what we have.
So I rewrote this document.
You know, this document and then check India, we have our publisher was received in the in the court
in the function and it's being written here.
So if you need to return, maybe the publisher and the publisher and the other.
So, you know, we have both.
If I if I press this one here and I wrote my document.
I wrote my document and then I access my function like that, this one is going to return what it has
nothing.
Joffrey
Gitano, the.
So we have order there, you have publisher.
Although we have publisher other for the story, it's our own in order like that story a little bit.
We are then we access it, and yes, we have Joffre Giuffre Garani, so our other both the other and
the publisher are being received by our function here.
I don't know whether that answers your question.
Yes, yes, so you order in the arts, the order is important, right?
Yes.
So whatever name you buzz here as the key is what you are going to have is what you are going to have
with it on your function, on your function here.
That is what you are going to receive the same way that you are going to see when you when you are accessing
this thing from an external application.
You have to pass this.
This is the key keys and values.
You have to pass it in this order.
Order.
So all the publisher then here you have to give them the keys, must match then the same.
But the variable here is what you defined up here.
OK, yes, so we have a question from Yes.
Yes, hello, Karenni, I will, uh, something a link in the chat, if you can open it.
Yes.
It's kind of OK.
OK, so this is documentation about the Frédérique all we just did, if you years is out there, if
you scroll completely down, there's the white list.
We just did an example of this.
But if you go back up a little bit, you will see the standard API just go up again, this one.
So I don't know if you are planning to show this later on, but I would like to for you to make the
same example we just did.
But use that one instead of calling our whitelist method.
OK, use this one.
OK, ok.
OK.
Mummy noted that you are going to look at that.
OK, ok.
Because you take a link link.
Share the link.
I got the link.
OK.
The only thing that.
The point is how to do calling bystander API, right?
Yeah, yeah, yeah, using our standard API to do the same thing that we have done here.
So what is his question now?
Me, what I wanted you to do the same example we just did, but using this standard API instead of using
our custom white to function.
The two areas get value, which is good therapy, clients that get it is a standard API.
You are saying it's like a therapy dog eat dog world similar.
That was that is my question.
I think this one is used to query any duct tape and putting the filters without having to write code
in Python, without having to write a whitelist admitted.
This allows us to query any DOCTYPE with some filter to get it back in the client.
So I just wanted to do an example with this one because it looks interesting to to see this functionality.
Yeah, yeah, yeah.
Oh, you want to do it offline karani.
Not now, right.
Yeah, not now.
We this we are going to do it maybe.
Maybe tomorrow.
OK.
Yeah.
Notice we are went to help with this thing I noted down.
OK.
OK you.
No.
Good, so in one operation, kind of.
Now, now I have a question Karani now with this Abai, this API, which you did now in the utilities.
Yes, first of all, API is using Python only know JavaScript, the API.
Now, what is showing here that there could be this could we have here this is going to do everything
without necessarily having to write anything on Python?
So if you want to overall JavaScript, we will not write the API using JavaScript.
Well, I don't know if I'm getting your question.
Uh.
What do you mean, like my question now?
You're right.
Go back to the utilities that pay is.
Yes, so it is that by here you are writing this whitelist functions.
Get other articles.
Yes.
So this is your engine, your API engine, correct?
Yeah.
So you you cannot do similar with JavaScript.
Within your next of rapid, yes, no, you cannot you cannot do that basically because JavaScript in
therapy is treated as a front end, front end technology.
What they are using for backend and Epper stuff is Python.
OK, yeah, OK.
Now this this function get offered articles.
This is the API if someone ask.
What is API name?
What is the name of that API, so I should tell him so the name is get other articles, right?
Correct.
Actually, this is the API.
As you said earlier, as you said earlier, you said API is internal and external.
This is this is between modules inside inside the Phoenix.
Right.
So now the beauty of writing this, this happens here.
This API can be used by both Salt Lake now and we do when we do, the one we have here is going to be
able to be used data from our JavaScript function here on the front end.
And also we can access it using other external applications.
That's the beauty, the one that we are going to see tomorrow, the one that you are requested here.
This one is only going to sit on the script event.
So when we write it here, is going only to do is going to do the recording of whatever it is doing
here.
So it's going to sit here and there will not be accessible by any other applications, maybe something
like a mobile app outside.
But when you have apps here on the on the back end, they can be accessed by basically any application
from whatever the.
OK, so now earlier you put a Web page browser, then you put IP and the API method.
Yes, this one.
Yeah, yeah, yeah, this this one.
Yes, yes, this is it.
Different from Bustamente, they say what we have here.
Yes they are.
All we have here is exactly what we are going to use on Postman, because ideally, ideally, like not
these the occasional day to answer your mummy.
You asked me the name about it.
If someone asks you about the name of the the name of the name of the apes is what we have here like.
No, ours is get all the articles most of the time.
If you are working with that team, maybe you have people doing the APIs and then you integrating this
with something like a mobile app, you're going to get questions like what is the API endpoint?
People want to know what is the endpoint of getting all the articles written by.
And so the endpoint that you are supposed to provide to your front end developer is this one.
Everything here from the you are there to the FBI method, then they do that part to your function.
This is the end point that you are supposed to provide.
OK, my question, this Web browser and postmen, they are same or different.
A different.
They're different, so when we put I just opened the postman and I have copied so now Mummy, you know,
this is this is this is now in the D.A. in the accessing of the APHC that with external applications.
So posthuman is one of them.
But the money just used for testing.
So what they what the postman asked me to provide it is the entry points.
Then I provide the I provide the, the function, whether it is geto postal or whatever.
So in our case, because we want to get a data, this is a great function and then we provide the end
point.
And when you try to say to this just what we have, see what we have on the browser here, we have our
message.
This one is already trying to access our is already trying to access our data.
So this is why I'm saying it's different, even though we have copied.
Not when we I sent this.
Now you see it on post when we get an error and it is telling us that we are not permitted.
So when we come back to our browser here, we load this one is what it looks like, it's working only
that there is no data inside it.
So in our on our browser, it is allowed, but on posthuman.
It is not allowed.
There is on is on the browser here.
This is within our application.
So this is using an API within a European.
So the frappé ecosystem.
But when you go to postwoman, the system is assuming that now, for instance, this is a mobile app
that is trying to get data from our database and this is not part of us.
So it is blocked.
So as much as the the other is the same.
What is needed for an external application to consume your APIs is different from what you need within
your application.
So there is different purpose.
This browser is to test internal or internal ERP next APIs and Bustamente is to test external calls
to our APIs.
Yes, yes.
Yes.
Because yeah.
Let me let me let me also say something.
You see, we have we have again given this to return our articles.
If we go to our browser, usually this is our instance and I click on action, look at what happens
on the console and get get the dog documents you see here.
Our application seems to be working.
There's no issue is going back, getting our database of our articles and bringing them back.
But when I tried to send this from my mobile app, this same endpoint is not working.
It's complaining.
Mm hmm.
So that's the big difference.
So now I don't know whether anyone knows why it is complaining on that when you try to assess it from
an external application, we had we had looked at that earlier.
I don't want to wait listed.
No, it's not what it is.
If we do not.
If you do not or at least not even this one is not going to work.
So if we clear this and we try to get you see us complaining, telling us is not permitted.
So we have our function is at listed.
But it is not watching who knows why talking, you didn't give a token and did nothing it.
Yeah, yeah.
So what we need to do here in this in the in this rapidly whiteflies.
It's either we open this API to be accessible by external applications, by seeing, by allowing guests.
Progressed in retreats to allow guests.
So when we do that, both of these not going to occur so I can delete this query again.
This is working and I can go to postwoman.
But then we are going to have another issue here.
Let me send.
But this is a small one.
You see how this works but gets nothing.
The reason is, again, because we have not provided the query parameter.
So if we do not if we did not have this line here, this is again going to complain and tell us that
we are missing our required parameter.
You see this missing Whitegate argument.
So what we needed to pass here is in the pudding.
We can pass our form.
And with other remember, this is a key.
Again, it has to be exactly what we have here.
And then from there we do the other we can do different karani and then we send and.
For the.
Jeffrey Karani, do I have articles here?
Let me take.
Jeffrey Karani.
Well, back to my postman or the.
Based in musicological, they have spelled out the properly, so get out and paste here, and since
I don't know, I'm getting getting an auditor who knows why.
You're waitlisted function, go back to waitlisted.
What is the condition that you are putting, publisher?
Oh, yeah, sorry, yeah, this is why it's so publisher here is supposed to be all they supposed to
be other.
Thank you.
Thank you so much.
The reason so we are now is into this.
We are get our data back.
Yes, you get a good result now on accessing Ipis from within or from using other applications.
So number four, number four is writing one second, writing custom API within their next ecosystem.
This is we did this waitlisted functions.
This is the API and five consuming custom API from other software applications.
This is we call from Faustman, right?
Yes.
The is basically used for testing.
So if a spacewalk on Monday are going to work on any other application that you like to use to consume
this space, this is what you tell us to consume.
Yeah, this is consuming.
Yeah.
Like I like using them.
Using them.
Like using basically.
Anyone have a question please.
Do you have questions?
No question.
Yes, you have question, Muhammad Ali is.
So it is.
Hamdani and me, we we don't hear you.
We are not hearing.
Can you hear me now?
Yes, yes, no, it's OK.
So what if we want to query data from external sources into Phoenix and to the querying from within
the next hour if we have a Web site to provide some data?
So what you are asking if you have another website.
Yes, and we want to get data from that website to be next.
Yes.
Now, it depends one, but that one is of course, that one is now not not on hypnotizable.
So I think we're going to look at this tomorrow.
Yeah, we're books.
Our books are there tomorrow.
So depends.
Highly depends.
Because what you are going to be doing, let's say, for instance, you want to get data when an event
occurs.
Something like I have updated this document and saved it.
Now I want something to happen or I want this thing to go into another application, get it out there
and send it here.
You're going to write books and the Fastweb within Europe next.
We are going to see that tomorrow.
How to do that?
You can send it data from ERP next to external applications.
And if you have another application, external application that needs to send data to Europe in next
instance, you need to write a book on that other application.
Mohammed.
Yeah, but I think like, for example, if I wanted to get, for example, exchange rates, currency
exchange rates.
And so that I don't need to define every time, right, if I'm using multi-currency.
And so looking OK, so if it's about if it's if it's about the currency exchange rates, they have an
API, right?
There is there is an API for exchange rates, yes, so what we need to do is ideally to consume that
API.
You query that API, maybe, maybe you can.
What you can do is maybe write a job that maybe queries the API, like after every one minute the president
updates the exchange rates.
So you're going to to that API and then everything there is your Jubran it the official database with
Enuka.
You knew with the new new rates.
So I did Libya is to is to is to study the documentation and to study the documentation and then use
it within Europe next year, is it the scope of this training?
Actually, we saw how to send data from here next to outside.
OK, and if we have data outside and we want to consume it as we as Mohammed inside the European exchange
rate, we are getting it.
Is it an article in our agenda, next topic?
Absolutely not.
Unless if it is requested.
But that is completely out.
So and a point of connection.
We are not sending data yet.
We have not sent data sending data is our Brooke.
What we have done is consumed the data we are consuming, even with from posthuman, this data has not
been sent anywhere.
It is still within our instance, but we are we are accessing it.
So when we pass this data point here and we clear consent, this thing goes, goes, goes to to get
this data from our users.
Whatever it is, we don't send any data out by now.
Tomorrow we will be looking at Web hooks.
We are actually going to send it data like for instance, if someone maybe saves a new article, we
are going to get this data or whatever interested in it.
They send it to another application that is that may be completely different from European.
And that is why I am saying when you need to send that data outside completely sending it, you need
to you need an ebook on both sides.
So like now within from from our European citizens to another application, we can way to do that.
And I will do that tomorrow if we need now to get maybe this from another system that somebody has made,
maybe our banking system.
And you need maybe every time someone makes a payment into the bank, you want to do all that data because
the bank has a system.
You want that data when it is updated on the banking system to reflect maybe a new accounting system
here in Europe.
Next, that is our book that is supposed to be written is from the banking, from the banking side.
But now, if it is about an exchange rate, you don't need to send any.
I just need to consume the API of exchange rate from whatever it is.
You don't need to get that data.
You need to consume it from whatever it is sitting.
I know the map is clear.
Is it clear, Mohammed?
Yes, it is.
OK, fine to.
The game is put open fire.
I don't know about Phoenix year being set up in the chat.
Can you can you check the chat?
Yes, get injured as an example of Colin and.
I don't know why my DNA was crawling, but the good looking detective, so open fire in that one.
Was an example of scoring and exchange rate swaps set up utils, let's see what we have there.
So let me make this smaller.
I will make it make it larger.
So we got to go to Ops.
We go to Europe next, Europe next.
Then we got to set up this scroll down to set up, set up, set up.
And then we do utils utils in here.
The only thing we get
method get exchange rate.
I can copy that.
And it's so good exchange rate currency.
So it's like this thing has already been done by Europeanist actually.
So given what is your question now, what is the point to you, as Ron, as an example of calling an
exchange rate?
Well, that was the question, it was just to show an example of.
Oh, yeah, so now you see from here, this is this is a NEPA that your opponents have written in this,
the EPA expects these things from currency.
Maybe this is from Tunisia.
What is the currency for Tunisia?
Is it hot tea and the energy?
Yeah, from that to may be US dollar debt and all that.
So this thing is going to this is an API already.
So you can actually consume this API into into convulsions.
But if may maybe now for some reason.
For some reason it's what you want to convert into is not taken care of here.
You may need to consume it because they are free, they are free apps for currency conversion.
Right, conversion, and we also have as a space in which we can see it is it is it is calling an external
API.
If you look in the code, it is calling a free API.
Go below.
You will see Frankfurter apply Frankfort, OK.
Yeah.
For example, to call an external API.
Yeah.
Correct.
Yeah.
So yeah you have it here already.
So it is a done.
So here is the happy consume this free API they are consuming, right?
Yeah, they are consuming now, these guys are consuming this EPA here.
Not understanding my understanding.
Now, if you call this API, you give input, you will get output, you would get the result or you
get the value.
Yes.
Will you see this is the area using the same front that is on opensource importantly to EPA for current
and historical foreign exchange rates published in Waterworth?
Yeah, so you have it here.
It's already doing it.
Yeah, it's done.
Just need to call this and consume it wherever you want.
Is this one.
And then pass these these parameters, so what is required here is the from the from currency and the
two currency, you can leave the rest to do the rest for you.
I am still confused between Weblogs and Aprilia and.
So we can check tomorrow with workgroups sition and we'll understand more maybe.
Yes, yes, yes, yes.
But the biggest difference is for the defense data outside.
So what I'm going to do tomorrow, maybe I'll just start another application, maybe from will be a
lot of it will go up and then we are going to send the data we save on our article.
And we want to see that the data on our application we have.
When you say when you say send data or exchange data data, like if I send a purchase order from a company
to supplier.
This is data, right?
A purchase order or invoice sends an invoice, sometimes we exchange documents.
Suppose they have a planning for one month of production.
So I will get data from my supplier or sent to my suppliers, P.O., which is ordered to purchase order.
It has it is the data.
It has line item quantity, all this.
And so when I send it to my supplier, you call it data, not API, right.
Now, I don't know whether I'm getting a question when you send a purchase order, that's a document,
right?
Yes, it.
This is not what I mean by data here is suppose I say maybe I have read this document, this is IRP
next or this is maybe our frappé application, but then I want this data to be sent to the bank.
OK, for some reason, I want the bank to update maybe this is a payment, I want to put the inside
of the bank to update my account with maybe some money that has been paid here.
So this thing is actually sending data from my application, maybe the name, your name, the amount
of money and the date from this.
This is this software to another software that is completely independent of this.
So it's a record you want to say record.
Record.
Yes, you are sending a record
on record.
OK, I think I be able to answer that properly when we do our books like tomorrow.
You see, your your data is in table and ADP is a table, right?
Yes.
If you try to send the record one of the records from one table line, a line is a record roll.
Yes.
You said if you send it out, you cannot send the database.
So they converge on this line like examine the language.
You put it a structure, structure or adjacent.
You would send data between systems using the standard.
6:00 a.m. or Jason.
So you send it as a text, it becomes text.
Yeah, you can Europeanised allows us to send us as form data for us, Jason.
Yes.
So this is it is Jason.
It become I don't know the format of Jason.
So every record is like a text.
So in the other side, they convert this this.
Jason, it becomes another record again.
Yeah, correct.
They are correct.
So this is you call data, but API.
It is not data, it's just information.
Just one information or two you you will use it in your other system like exchange rate.
You will get a rate one one information and you will use the.
Yes, like now, for instance, when when when Mohammed will be consuming this API, he will not be
moving any data from Frankfurt or whatever this thing is to his next instance.
There is no way, no way I will go to his next instance and find a table for currencies.
So this team will be sitting on this website here and he will be using that data from their end.
So that is what an EPA does, but our book would have sent this data from this website to his this,
does he end up somewhere within these labels?
You would find that data.
I like it like you did an airplane now and you run a screen.
ADP got this cleared and return many records, yes, so this is data, these data are correct, not
the data, but it is API API to return data.
It is, yes, very similar Web hooks and API I.
We understood the difference.
Mommy, I'm still still confused.
Anyone in the attendees understand the difference between API and the books.
And Newton tried to explain.
Allu.
Maybe.
Who understand the difference between Warbucks and Appia?
OK, let's see tomorrow we'll see the books and we'll ask again the same question, but you said, OK,
I think that's better.
That's better than me.
OK.
So that's it for today.
I hope it's clear, as we noted one point from Jim, that he asked for standard apps.
We'll get back to him.
And again, there is another questions in the other direction, another direction from IRP, next from
other system to IRP.
Next, how to move, how to call external apps like you did.
Now from is it clear this question karani what you said.
In.
What exactly now consuming Mohammed about it was asking about this exchange, this one, so this data
is sitting on this website and he wants to use it somewhere within the next instance.
So what he needs to do is an API that that that consumes these APIs and that it fortunately has already
been written for us in the 80s.
So you just need to participate in the passing the currency from in the currency to that's it.
So to to do that, you may need to look at this documentation and other groups.
They have dogs here so that you can see exactly how they are passing, how they are passing their currency
from the currency to that it everything else when you've got I think they have a written function.
When you come down here, what you get is the currency that you want to convert.
And my my point is to cover this for five or 10 minutes, a dystopic Titian's, how to call external
APIs from within the next.
I would take note of that point, it's still open call external API.
Within the next.
OK.
OK, that's it for today at.
Uh, Muhammad Ali Aboubacar.
You do have to resolve the issue, obviously, to install it installation.
Is it resolved?
Or you need more support.
Are you there?
No.
Maybe get disconnected, so I will stop recording for today.
Since.